1. Field of the Invention
The present invention relates generally to a CPU-containing LSI that reads in software from an external memory to operate, and an optical disk device with such a CPU-containing LSI.
2. Related Background Art
Conventionally, in a CPU-containing LSI, software is read in from an external memory to a memory such as a RAM contained in the LSI and then is executed in a CPU. FIG. 30 shows the configuration of a conventional optical disk device, which is described below. In FIG. 30, numeral 3000 denotes the conventional optical disk device. Numeral 3001 denotes a conventional LSI. Numeral 3002 denotes a CPU that controls the LSI 3001. Numeral 3003 denotes a RAM that stores software and can be accessed from the outside, with the software being composed of an instruction sequence that is independent of CPU. Numeral 3004 denotes a ROM that stores an interpreter execution program (3006) for interpreting the software to execute it. Numeral 3010 denotes a communications unit that is used for communications between the LSI 3001 and external units. Numeral 3005 denotes a system control microcomputer for controlling the whole optical disk device 3000. Numeral 3007 denotes an external memory in which software to be stored in the RAM 3003, a program to be executed by the system control microcomputer 3005, etc. have been stored. Numeral 3014 denotes an optical disk.
Furthermore, numeral 3011 indicates an optical disk control unit that is controlled by commands from the LSI 3001 and decides, for instance, the laser power at which recording and reproduction is to be carried out with respect to the optical disk 3014, the rotational speed of the optical disk 3014, and the position of the head. Numeral 3012 denotes a recording/reproducing head that is controlled by the optical disk control unit 3011 and reads signals reproduced from the optical disk 3014 and the laser output. Numeral 3013 denotes a motor that is used for rotating the optical disk 3014 and is controlled by the optical disk control unit 3011. Furthermore, numeral 3006 denotes an interpreter execution program for making the CPU 3002 to execute an interpretation, while numeral 3008 indicates a software storage region.
The CPU 3002 and both the RAM 3003 and the ROM 3004 as well as the external memory 3007 and the system control microcomputer 3005 are connected to each other through a bus, respectively. The system control microcomputer 3005 can access the CPU 3002 and the RAM 3003 through the communications unit 3010. Furthermore, the CPU 3002 also can access the optical disk control unit 3011 through the communications unit 3010.
The operation of the conventional LSI is described below with reference to FIG. 30. First, the system control microcomputer 3005 stores, in the software storage region 3008 of the RAM 3003, software that has been stored in the external memory 3007 and controls the optical disk device. The address from which this storage is started is the initial address of the software storage region 3008. When the system control microcomputer 3005 issues an interpreter execution command to the CPU 3002 through the communications unit 3010, the CPU 3002 executes the interpreter execution program 3006 stored in the ROM 3004. The CPU 3002 interprets the software stored in the software storage region 3008 to execute it. The CPU 3002 controls the optical disk by setting register parameters, issuing commands, and obtaining status with respect to the optical disk control unit 3011 through the communications unit 3010.
The optical disk device described above makes it possible to replace the optical-disk control command with another one or to change parameters of the control command by replacing software stored in the software storage region 3008 with another one. Consequently, the optical disk device described above allows software to be developed on a user-by-user basis without restraint. Furthermore, software for controlling the optical disk device can be developed even after the program stored in the ROM 3004 and the program incorporated into the optical disk control unit 3011 are fixed through prestoring of software in the external memory.
In the conventional optical disk device, however, software stored in the external memory 3007 cannot partially be incorporated into the RAM 3003. Consequently, it is not possible to incorporate software to be executed in the device into the RAM 3003 at the times when the software is required to be executed. Accordingly, all software that has been stored in the external memory 3007 and controls the optical disk has to be incorporated into the RAM 3003. On the other hand, the size of software has increased due to the increase in control items and type of the optical disk to be controlled by the optical disk device. Practically, from the viewpoint of the competition in LSI cost, the capacity of the RAM 3003 is limited. As a result, there were cases where the capacity of software exceeded the software storage capacity of the RAM 3003 and thereby the optical disk device 3000 stopped operating. This resulted in the placement of a limitation that the capacity of software must not exceed the software storage capacity of the RAM 3003 in developing software.